/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

用户
云部署pin相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef DeployApiModel_h
#define DeployApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKDeploy/DeployModel.h>


@interface DeployDescribeAppRequest:JDCloudRequest

/// App Id
@property (strong,nonatomic,nonnull)  NSString*  appId;
-(id) initWithRegion:(NSString *)regionId
appId:(NSString*)appId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
appId:(NSString*)appId;

@end

@interface DeployDescribeDeployRequest:JDCloudRequest

/// Deploy Id
@property (strong,nonatomic,nonnull)  NSString*  deployId;
-(id) initWithRegion:(NSString *)regionId
deployId:(NSString*)deployId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deployId:(NSString*)deployId;

@end

@interface DeployCreateDeployRequest:JDCloudRequest

/// 部署组ID，部署组的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  groupId;
/// 描述
@property (strong,nonatomic,nonnull)  NSString*  desc;
/// 部署来源：1url，2云编译，3云存储
@property (strong,nonatomic,nonnull)  NSNumber*  deploySource;
/// 部署操作
@property (strong,nonatomic,nonnull)  NSString*  deployCmd;
/// 1使用输入的操作，2使用程序自带操作
@property (strong,nonatomic,nonnull)  NSNumber*  cmdSource;
/// 部署操作展示格式：1form,2ymal
@property (strong,nonatomic,nonnull)  NSNumber*  cmdType;
/// 项目类型 1tomcat,2
@property (strong,nonatomic,nonnull)  NSNumber*  productType;
/// 下载url
@property (strong,nonatomic,nonnull)  NSString*  downloadUrl;
/// md5
@property (strong,nonatomic,nonnull)  NSString*  md5;
/// 云编译项目名
@property (strong,nonatomic,nonnull)  NSString*  compileProject;
/// 云编译构建序号
@property (strong,nonatomic,nonnull)  NSString*  compileSeries;
/// 云存储空间
@property (strong,nonatomic,nonnull)  NSString*  ossSpace;
/// 云存储目录
@property (strong,nonatomic,nonnull)  NSString*  ossDir;
/// 文件类型：1.tar，2.zip,3.tar.gz
@property (strong,nonatomic,nonnull)  NSNumber*  fileType;
-(id) initWithRegion:(NSString *)regionId
groupId:(NSString*)groupId
desc:(NSString*)desc
deploySource:(NSNumber*)deploySource
deployCmd:(NSString*)deployCmd
cmdSource:(NSNumber*)cmdSource
cmdType:(NSNumber*)cmdType
productType:(NSNumber*)productType
downloadUrl:(NSString*)downloadUrl
md5:(NSString*)md5
compileProject:(NSString*)compileProject
compileSeries:(NSString*)compileSeries
ossSpace:(NSString*)ossSpace
ossDir:(NSString*)ossDir
fileType:(NSNumber*)fileType;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
groupId:(NSString*)groupId
desc:(NSString*)desc
deploySource:(NSNumber*)deploySource
deployCmd:(NSString*)deployCmd
cmdSource:(NSNumber*)cmdSource
cmdType:(NSNumber*)cmdType
productType:(NSNumber*)productType
downloadUrl:(NSString*)downloadUrl
md5:(NSString*)md5
compileProject:(NSString*)compileProject
compileSeries:(NSString*)compileSeries
ossSpace:(NSString*)ossSpace
ossDir:(NSString*)ossDir
fileType:(NSNumber*)fileType;

@end

@interface DeployCreateDeployResult : NSObject
/// 上线单ID
 @property (strong,nonatomic,nonnull)  NSString*  deployId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDeployId:(NSString*) deployId;
@end

@interface DeployDescribeGroupRequest:JDCloudRequest

/// Group Id
@property (strong,nonatomic,nonnull)  NSString*  groupId;
-(id) initWithRegion:(NSString *)regionId
groupId:(NSString*)groupId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
groupId:(NSString*)groupId;

@end

@interface DeployDescribeAppsResult : NSObject
/// Apps
 @property (strong,nonatomic,nonnull)  NSArray<App*>*  apps;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithApps:(NSArray<App*>*) apps

    totalCount:(NSNumber*)totalCount;
@end

@interface DeployDescribeAppsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployDescribeAppsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployDescribeAppsResult*) result;
@end

@interface DeployDescribeAppResult : NSObject
/// App
 @property (strong,nonatomic,nonnull)  App*  app;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithApp:(App*) app;
@end

@interface DeployDescribeAppsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// appId - 应用ID，精确匹配
   /// appName - 应用名，精确匹配
   /// platform - 部署平台，精确匹配
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface DeployDescribeAppResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployDescribeAppResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployDescribeAppResult*) result;
@end

@interface DeployDescribeDeployResult : NSObject
/// Deploy
 @property (strong,nonatomic,nonnull)  Deploy*  deploy;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDeploy:(Deploy*) deploy;
@end

@interface DeployDescribeDeployResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployDescribeDeployResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployDescribeDeployResult*) result;
@end

@interface DeployCreateDeployResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployCreateDeployResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployCreateDeployResult*) result;
@end

@interface DeployDescribeGroupResult : NSObject
/// Group
 @property (strong,nonatomic,nonnull)  Group*  group;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithGroup:(Group*) group;
@end

@interface DeployDescribeGroupsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// appId - 应用ID，精确匹配
   /// groupId - 部署组ID，精确匹配
   /// groupName - 部署组名，精确匹配
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters;

@end

@interface DeployDescribeGroupsResult : NSObject
/// Groups
 @property (strong,nonatomic,nonnull)  NSArray<Group*>*  groups;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithGroups:(NSArray<Group*>*) groups

    totalCount:(NSNumber*)totalCount;
@end

@interface DeployDescribeGroupsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployDescribeGroupsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployDescribeGroupsResult*) result;
@end

@interface DeployDescribeGroupResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property DeployDescribeGroupResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(DeployDescribeGroupResult*) result;
@end

#endif /* DeployApiModel_h */
